1 package uba.db.sql.language;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import junit.framework.TestCase;
7 import uba.db.testhelpers.TestUtils;
8
9 /***
10 * @version $Revision: 1.6 $
11 */
12 public class DisplayOneColumnTest extends TestCase {
13 private DisplayOneColumn displayOneColumn;
14 private DisplayOneColumn otherDisplayOneColumn;
15 private DisplayOneColumn sameDisplayOneColumn;
16
17 /***
18 * @see junit.framework.TestCase#setUp()
19 */
20 protected void setUp() throws Exception {
21 super.setUp();
22 displayOneColumn = new DisplayOneColumn(new TableName("A").column("c"));
23 sameDisplayOneColumn = new DisplayOneColumn(new TableName("A").column("c"));
24 otherDisplayOneColumn = new DisplayOneColumn(new ColumnName("d"));
25 }
26
27 /***
28 * Test de igualdad entre dos instancias.
29 */
30 public void testEquals() {
31 TestUtils.assertEqualsImplementation(displayOneColumn,
32 sameDisplayOneColumn,
33 otherDisplayOneColumn);
34 }
35
36 /***
37 * Test: agregar a una columna.
38 */
39 public void testAppendToOneColumn() {
40 DisplayColumns result = displayOneColumn.append(otherDisplayOneColumn);
41 List columns = new ArrayList();
42 columns.add(displayOneColumn);
43 columns.add(otherDisplayOneColumn);
44
45 assertEquals(new DisplayMultipleColumns(columns), result);
46 }
47
48 /***
49 * Test: agregar a multiples columnas.
50 */
51 public void testAppendToMultipleColumns() {
52 DisplayMultipleColumns multipleColumns = new DisplayMultipleColumns(
53 otherDisplayOneColumn, otherDisplayOneColumn);
54 DisplayColumns result = multipleColumns.append(displayOneColumn);
55 List columns = new ArrayList();
56 columns.add(otherDisplayOneColumn);
57 columns.add(otherDisplayOneColumn);
58 columns.add(displayOneColumn);
59
60 assertEquals(new DisplayMultipleColumns(columns), result);
61 }
62
63 /***
64 * Test: agregar a un comodin de todas las columnas.
65 */
66 public void testAppendToAllColumns() {
67 DisplayColumns result = new DisplayAllColumns().append(displayOneColumn);
68 List columns = new ArrayList();
69 columns.add(new DisplayAllColumns());
70 columns.add(displayOneColumn);
71
72 assertEquals(new DisplayMultipleColumns(columns), result);
73 }
74 }